<template>
  <div class="todo-header">
    <input
      type="text"
      placeholder="请输入你的任务名称，按回车键确认"
      @keyup.enter="addTodo"
    />
  </div>
</template>

<script lang="ts">
import { defineComponent } from 'vue'
import { Todo } from '../types/todo'
export default defineComponent({
  name: 'Header',
  emits: ['addTodo'],
  setup(props, { emit }) {
    const addTodo = (e: any) => {
      if (e.target.value.trim().length === 0) return alert('您输入为空')
      const todo: Todo = {
        id: +new Date(),
        title: e.target.value,
        isCompleted: false
      }
      e.target.value = ''
      emit('addTodo', todo)
    }
    return { addTodo }
  }
})
</script>

<style scoped lang="scss">
.todo-header input {
  width: 560px;
  height: 28px;
  font-size: 14px;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 4px 7px;
}

.todo-header input:focus {
  outline: none;
  border-color: rgba(82, 168, 236, 0.8);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075),
    0 0 8px rgba(82, 168, 236, 0.6);
}
</style>